package com.qrpay.model.provider;

import com.qrpay.model.BaseModel;
import com.qrpay.model.annotations.SignField;

public abstract class AbstractRequest<T extends AbstractResponse> implements BaseModel {

    /**
     * 与Request相对应的返回类型
     *
     * @return
     */
    public abstract Class<T> responseClass();

    /**
     * 请求订单号
     */
    @SignField
    private String orderId;

    /**
     * 请求上送appID
     */
    @SignField
    private String appId;

    /**
     * 签名
     */
    private String sign;

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }
}
